/**
 * 类型定义统一导出文件
 */

// 历史相关类型
export type {
  HistoryVersion,
  VersionEntries,
  FileEntry,
  FileHistoryRecord,
  FileReference
} from './history'

// 文件操作相关类型
export type {
  FileStats,
  CopyOperation,
  BatchResult,
  FailedOperation,
  FileTreeNode
} from './file-operations'

// 恢复相关类型
export type {
  RecoveryOptions,
  RecoveryTask,
  RecoveryResult,
  BatchRecoveryOptions,
  BatchRecoveryResult,
  RecoveryPreview,
  ConflictInfo
} from './recovery'

// 搜索相关类型
export type {
  SearchOptions,
  ContentSearchOptions,
  SearchResult,
  ContentSearchResult,
  ContentMatch,
  SearchCriteria,
  DateRange,
  SizeRange
} from './search'

// 差异对比相关类型
export type {
  DiffViewState,
  DiffResult,
  DiffChunk,
  DiffLine
} from './diff'

// 状态管理相关类型
export type {
  AppState,
  VersionBrowserState,
  FileHistoryState,
  SearchState,
  RecoveryState,
  RecoveryProgress,
  UIState,
  Notification
} from './state'

// 错误处理相关类型
export {
  ErrorType,
  ErrorSeverity
} from './errors'

export type {
  AppError,
  OperationResult,
  AsyncOperationResult,
  DetailedError,
  ErrorHandlingOptions,
  ValidationError,
  BatchOperationError
} from './errors'

// 核心接口
export type {
  HistoryParser,
  FileOperations,
  RecoveryEngine,
  SearchEngine
} from './interfaces'

// 常量
export {
  FILE_TYPES,
  SUPPORTED_EXTENSIONS,
  HISTORY_CONSTANTS,
  SEARCH_CONSTANTS,
  RECOVERY_CONSTANTS,
  UI_CONSTANTS,
  ERROR_CODES,
  APP_CONFIG
} from './constants'

// 实用工具类型
export type {
  DeepReadonly,
  DeepPartial,
  ArrayElement,
  KeyValuePair,
  StringLiteral,
  NumberLiteral,
  ValueOf,
  Optional,
  RequiredFields,
  KeyPath,
  GetByPath,
  PaginatedData,
  ApiResponse,
  EventHandler,
  AsyncFunction,
  SyncFunction,
  MaybeAsync
} from './utility-types'